var fs = require('fs');
var path = require('path');
var jsonfile = require('jsonfile')

// 解析需要遍历的文件夹，我这以E盘根目录为例  
var filePath = path.resolve('./img/jinhuaShare');

const fileNameList = []
const relativePath = /img\\(.)*$/
var toFile = './imgJson/jinhua.json'

// 调用文件遍历方法  
fileDisplay(filePath);

setTimeout(function() {
  console.log('...f');
  var obj = {fileNameList: fileNameList}
  jsonfile.writeFileSync(toFile, obj, {flag: 'a'})
}, 2000)

/** 
 * 文件遍历方法 
 * @param filePath 需要遍历的文件路径 
 */
function fileDisplay(filePath) {
  // 根据文件路径读取文件，返回文件列表  
  fs.readdir(filePath, function (err, files) {
    if (err) {
      console.warn(err)
    } else {
      // 遍历读取到的文件列表  
      files.forEach(function (filename) {
        // 获取当前文件的绝对路径  
        var filedir = path.join(filePath, filename);
        // 根据文件路径获取文件信息，返回一个fs.Stats对象  
        fs.stat(filedir, function (eror, stats) {
          if (eror) {
            console.warn('获取文件stats失败');
          } else {
            var isFile = stats.isFile();// 是文件  
            var isDir = stats.isDirectory();// 是文件夹  
            if (isFile) {
              // console.log(filedir.match(relativePath))
              if (relativePath.exec(filedir)[0]) {
                fileNameList.push(relativePath.exec(filedir)[0])
              }
            }
            if (isDir) {
              fileDisplay(filedir);// 递归，如果是文件夹，就继续遍历该文件夹下面的文件  
            }
          }
        })
      });
    }
  });
}  
